package org.lc.platform.mybatis.manager.annotation;

import jakarta.validation.Payload;

import java.lang.annotation.*;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ManyToMany {
    /*当前实体对应字段，如果不传，为装饰字段*/
    String selfField() default "";

    /* 中间表对应的实体类*/
    Class<?> middleTable() default Payload.class;

    /* 目标实体类*/
    Class<?> target() default Object.class;

    /* 中间表和当前实体关联字段名*/
    String middleSelfField();

    /* 中间表和目标实体关联字段名*/
    String middleTargetField();

    /* 目标关联字段,如果不传，为目标类组件*/
    String targetField() default "";

    /* 表示每次请求是否自动添加关联关系*/
    boolean eager() default false;

}
